package hu.bme.aut.consulttime.client;

import java.util.List;

import hu.bme.aut.consulttime.entitydtos.ProjectDTO;
import hu.bme.aut.consulttime.entitydtos.UserDTO;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface ProjectServiceAsync {
	void createProject(ProjectDTO projectDTO, AsyncCallback<Boolean> callback);

	public void retrieveTutors(AsyncCallback<List<UserDTO>> callback);

	public void retrieveProjects(AsyncCallback<List<ProjectDTO>> callback);
	
	public void retrieveProjects(long tutorId, AsyncCallback<List<ProjectDTO>> callback);

	public void retrieveTutors(long projectId, AsyncCallback<List<UserDTO>> callback);

	public void deleteProject(long id, AsyncCallback<Boolean> callback);

	public void retrieveProject(long projectId, AsyncCallback<ProjectDTO> callback);

	public void updateProject(ProjectDTO projectDTO, AsyncCallback<Boolean> callback);
}
